﻿using System;
using System.Collections.Generic;

namespace Informant.Contacts
{
	public interface IContact
	{
		/// <summary>
		/// Gets the id.
		/// </summary>
		/// <value>The id.</value>
		String Id { get; }
		/// <summary>
		/// Gets the first name.
		/// </summary>
		/// <value>The first name.</value>
		String FirstName { get; }
		/// <summary>
		/// Gets the last name.
		/// </summary>
		/// <value>The last name.</value>
		String LastName { get; }
		/// <summary>
		/// Gets the organizations.
		/// </summary>
		/// <value>The organizations.</value>
		IEnumerable<IOrganization> Organizations { get; }
		/// <summary>
		/// Gets the addresses.
		/// </summary>
		/// <value>The addresses.</value>
		IEnumerable<IAddress> Addresses { get; }
		/// <summary>
		/// Gets the emails.
		/// </summary>
		/// <value>The emails.</value>
		IEnumerable<IEmail> Emails { get; }
		/// <summary>
		/// Gets the phones.
		/// </summary>
		/// <value>The phones.</value>
		IEnumerable<IPhone> Phones { get; }
		/// <summary>
		/// Gets the groups.
		/// </summary>
		/// <value>The groups.</value>
		IEnumerable<IGroup> Groups { get; }
	}
}
